package com.study.kt.skills

/**
 * <pre>
 *     author : slx
 *     time   : 2021/02/07
 *     desc   :
 * </pre>
 */
fun main() {

    val input = "kotlin"
    when (input) {
        in listOf("java", "kotlin") -> println("found $input")
        else -> println("not found $input")
    }

    // 任何一个类只要重写contains ，就可以使用in
    // in+when+正则表达式
    when (val args = "1") {
        in Regex("[1-9]") -> println("$args is num")
        in Regex("a-zA-Z") -> println("$args is char")
    }
}

// 使用扩展函数重写contains方法，就可以使用in关键字
operator fun Regex.contains(text: CharSequence): Boolean {
    return containsMatchIn(text)
}